#ifndef SIMULATOR_H_
#define SIMULATOR_H_

#include "SimulatorRegister.h"
#include "Scheduler.h"
#include "Universe.h"
#include "Ghost.h"

#include <iostream>
using namespace std;

class Simulator 
{
public:
    Simulator(int sizeX, int sizeY);
    
    virtual ~Simulator();

    bool addGhost(Ghost * ghost);
    void simulateSingleTimeFrame();
    
    void printUniverse();

private:
    Universe  * universe;   
    Scheduler * scheduler;
    SimulatorRegister * registerer;
};

#endif /*SIMULATOR_H_*/
